package de.justphil.tcg.tcgserver.commons.domain.complete;

import java.util.List;
import java.util.Map;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;


@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class CNewGame {
	
	@XmlElement
	private long gameId;
	
	@XmlElement
	private List<Long> playerIds;
	
	@XmlElement
	private long[][] decks;
	
	@XmlElement
	private String[] otps;
	
	@XmlElement
	private Map<Long, CCard> inGameCards;
	
	@XmlElement
	private Map<Long, Integer> playerToDeckMapping;
	
	@XmlElement
	private Map<Long, Integer> playerToOtpMapping;
	
	
	public CNewGame() {
		// JAXB conformity
	}


	public CNewGame(long gameId, List<Long> playerIds, long[][] decks,
			String[] otps, Map<Long, CCard> inGameCards,
			Map<Long, Integer> playerToDeckMapping,
			Map<Long, Integer> playerToOtpMapping) {
		super();
		this.gameId = gameId;
		this.playerIds = playerIds;
		this.decks = decks;
		this.otps = otps;
		this.inGameCards = inGameCards;
		this.playerToDeckMapping = playerToDeckMapping;
		this.playerToOtpMapping = playerToOtpMapping;
	}


	public long getGameId() {
		return gameId;
	}


	public List<Long> getPlayerIds() {
		return playerIds;
	}


	public long[][] getDecks() {
		return decks;
	}


	public String[] getOtps() {
		return otps;
	}


	public Map<Long, CCard> getInGameCards() {
		return inGameCards;
	}


	public Map<Long, Integer> getPlayerToDeckMapping() {
		return playerToDeckMapping;
	}


	public Map<Long, Integer> getPlayerToOtpMapping() {
		return playerToOtpMapping;
	}
	
	
	
}
